﻿/**************************************************************************
 类   名: 本地永久储存 
 构造函数：StaticVariable([Name:String])
 方   法: 
 getLocal(数组名)：将此数组里面的内容本地永久储存
 clear()：删除本地储存的所有内容 
 属   性：  
 value[]：调用此数组将返回本地储存的内容
 Length：将返回本地储存的数组的长度
***************************************************************************/
class StaticVariable {
	public var myName = 'StaticVariable';
	//设置类的属性
	//返回本地储存的数组
	public var value:Array = new Array();
	//返回的本地储存的数组的长度
	public var Length:Number;
	//设置类的私有属性
	private var soName:String;
	private var myVariable:SharedObject;
	//设置构造函数
	function StaticVariable(Name:String) {
		if (Name != undefined && Name != null && Name != "") {
			this.soName = Name;
		} else {
			this.soName = "staticVariable";
		}
		getVariable();
	}
	//设置本地储存数组的函数
	public function getLocal(settings:Object) {
		getVariable();
		this.myVariable.data.Length = settings.length;
		for (var iNum in settings) {
			this.myVariable.data[soName+iNum] = settings[iNum];
		}
		this.myVariable.flush();
	}
	//获得本地储存的属性
	private function getVariable() {
		this.myVariable = SharedObject.getLocal(this.soName, "/");
		this.Length = this.myVariable.data.Length;
		for (var iNum = 0; iNum<this.Length; iNum++) {
			this.value[iNum] = this.myVariable.data[soName+iNum];
		}
	}
	//清除本地储存的函数
	public function clear() {
		this.myVariable.clear();
	}
}
